1. Field of the Invention
The present invention relates to a source coder and, more particularly, to a fixed quality source coder with a fixed threshold that may be used in compression of medical image data.
2. State of the Art
In a normal hospital radiological environment, a large amount of medical image data is generated from different modalities, such as computed tomography (CT), magnetic resonance (MR) imaging, and computed radiography (CR). Devices that process the image data typically include an analog-to-digital converter (ADC) that converts analog image data to digital image data. Converting to digital image data serves two purposes. First, there are certain advantages in processing digital rather than analog data. Second, the process of digitizing analog data has the potential of more efficiently compressing the analog data because the compressed digital data can take less memory space to store.
A quantizer is a device that represents one signal that can take on a large number of values by another signal that can take on only a limited number of values. A four-bit ADC, for example, represents the value of a continuously varying (i.e., analog) signal by a digital signal that can have only one of sixteen values. Scalar quantizers operate on signals having a single degree of freedom, such as an ADC operating on a voltage signal. ADCs perform "scalar quantization" (SQ) in that each sample is unrelated to the previous and next samples.
Referring to FIG. 1, a traditional source coder 10 includes a low pass filter 12, a sample and hold circuit (S/H) 14, and an n-bit ADC 16. Typically, S/H 14 and ADC 16 work together. Low pass filter 12 removes high frequency components from the analog input signal to prevent aliasing problems. S/H 14 samples the continuous waveform into a discrete analog signal on conductor 15 that is digitized by ADC 16, which typically is a uniform scalar quantizer that converts the analog signal into one of a finite number of uniformly spaced levels spanning the analog range. The sampling rate of S/H 14 controls the number of r x s samples/frame of an image. For example, a typical value for r x s samples/frame is 512.times.512 samples/frame. ADC 16 provides a digital signal I.sub.D0 to conductor 18. Because there are a finite number of sampling points for sample and hold circuit 14 and a finite number of levels in ADC 16, the conversion of the original analog signal to a digital signal I.sub.D0 introduces quantization error when compared to the original analog signal. All ADCs have a finite number of levels and all ADCs have quantization distortion. Because a finite number of levels are used to represent the data accurately, some data compression occurs in all ADCs.
Vector quantizers, by contrast, operate on signals having multiple degrees of freedom. In contrast to SQ, vector quantization (VQ) deals with a block of samples or vector at once, and as a result VQ has some performance advantages as compared with scalar quantization. VQ can be viewed as pattern matching, where input patterns or vectors are approximated by one of many stored patterns in a codebook. The resulting quantization error from such an approximation clearly depends upon how well the stored patterns, referred to as codevectors, represent the input vectors. Consequently, codebook generation may be greatly improved by prior knowledge of the information source and is important to the performance of VQ.
Consider an image that is divided into numerous small areas called pixels (for picture element). Pixels are sufficiently small that the intensity of the image is approximately constant across the pixel area. For example, a black and white image of a house might be divided into a grid of 600 rows and 600 pixels per row. Each pixel would be like a small dot in the image. A block or group of pixels in the same region would form a vector which can be thought of as a small subimage. For example, a 6.times.6 square block of pixels forms a 36 element vector, which may be a portion of a shadow or part of the roof line against a light background.
Mean-removed VQ (MRVQ) is a special case of product codes. Product codes refer to a family of vector quantization methods in which one large codebook is replaced by more than one smaller codebook. As a result, the vector space represented by the overall quantizer is given as the Cartesian product of smaller vector spaces, and hence the name product codes. In MRVQ, the sample mean of each input vector is computed and then subtracted from every vector component. The resulting mean removed, or residual, vector is then vector quantized. The utility of MRVQ is that the residual vectors can be adequately represented with many fewer codevectors as compared to the original image vectors. The mean of each vector is also coded and included along with each codevector index. Since the mean is a scalar quantity, it is scalar quantized. As a result, the mean includes all of the possible quantization levels of the scalar quantizer. MRVQ can provide a significant reduction in the overall complexity of a VQ system as compared to direct VQ.
It is desirable to apply a high quality compression in order to reduce storage costs. Data compression techniques are typically classified as either lossy or lossless. Lossy algorithms are capable of high compression ratios, but they may distort the data in some way which is not tolerable for some diagnostic medical images. Lossless algorithms do not distort the data, but they are limited to much lower compression ratios. It is noteworthy that an ADC with a finite number of levels with binary codes is a lossy compressor because there is quantization error. In many applications, the ADC outputs are losslessly sent to the decoder, but there still is quantization error of the original ADC at the decoder.